package org.cli.admin.init;

import org.cli.admin.cli.CLIManager;
import org.cli.admin.command.CommandManager;
import org.cli.admin.plugin.PluginManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.google.inject.Inject;

public class Application {
	private static final Logger logger = LoggerFactory.getLogger(Application.class);

	@Inject
	private CLIManager cliManager;
	
	@Inject
	private PluginManager pluginManager;
	
	@Inject CommandManager commandManager;
	
	public void start() {
		logger.info("Starting application...");

		pluginManager.prepare();
		commandManager.prepare();
		
		cliManager.listen();
	}
	
	public void stop() {
		logger.info("Stopping CLI application...");
		
        logger.info("Stop done");
	}
}
